package com.atguigu.tingshu.search.service;

import com.atguigu.tingshu.model.search.AlbumInfoIndex;
import com.atguigu.tingshu.query.album.AlbumInfoQuery;
import com.atguigu.tingshu.query.search.AlbumIndexQuery;
import com.atguigu.tingshu.vo.search.AlbumSearchResponseVo;

import java.util.List;
import java.util.Map;

public interface SearchService {

    /**
     * @author WeakMoon
     * @date 2025/02/25 18:55:44
     * 专辑上架
     */
    void upperAlbum(Long albumId);


    /**
     * @author WeakMoon
     * @date 2025/02/25 18:56:02
     * 专辑下架
     */
    void lowerAlbum(Long albumId);

    /**
     * @author WeakMoon
     * @date 2025/02/26 20:56:37
     * 检索功能
     */
    AlbumSearchResponseVo search(AlbumIndexQuery albumIndexQuery);

    /**
     * @author WeakMoon
     * @date 2025/02/28 16:23:48
     * 展示频道页数据
     */
    List<Map<String, Object>> channel(Long category1Id);

    /**
     * @author WeakMoon
     * @date 2025/02/28 19:09:20
     * 自动补全
     */
    List<String> completeSuggest(String keyword);

    /**
     * @author WeakMoon
     * @date 2025/03/04 21:43:10
     * 更新排行榜
     */
    void updateLatelyAlbumRanking();

    /**
     * @author WeakMoon
     * @date 2025/03/05 16:18:46
     * 获取排行榜
     */
    List<AlbumInfoIndex> findRankingList(Long category1Id, String ranking);
}
